| 
Class
		 | 
		
Title
		 | 
		
Author(s)
		 | 
	
	
		| 
ESC-200
		 | 
		
The 25 Most Common Mistakes with Real-time Software Development
		 | 
		
Dave Stewart
		 | 
	
	
		| 
ESC-201
		 | 
		
Model-driven Architecture Distilled
		 | 
		
Stephen Mellor
		 | 
	
	
		| 
ESC-202
		 | 
		
Choosing a 32-bit Embedded Processor
		 | 
		
Jim Turley
		 | 
	
	
		| 
ESC-203
		 | 
		
Programming the ARM Architecture
		 | 
		
Joe Lemieux
		 | 
	
	
		| 
ESC-204
		 | 
		
Web Services in Embedded Systems
		 | 
		
John Canosa
		 | 
	
	
		| 
ESC-205
		 | 
		
Programming Techniques for Efficient Coding in Processing-intensive Environments
		 | 
		
Rick Gentile
		 | 
	
	
		| 
ESC-206
		 | 
		
Implementing Process Control Systems with Field-programmable Analog Arrays
		 | 
		
Chris Schene
		 | 
	
	
		| 
ESC-208
		 | 
		
Embedded Systems Programming Using DSPs
		 | 
		
Robert Oshana
		 | 
	
	
		| 
ESC-209
		 | 
		
Power-optimizing Embedded Applications
		 | 
		
Scott Gary
		 | 
	
	
		| 
ESC-210
		 | 
		
Introduction to Video Compression
		 | 
		
Jeff Bier
		 | 
	
	
		| 
ESC-240/260
		 | 
		
Inside Real-time Kernels, Part 1 & 2
		 | 
		
Jean Labrosse
		 | 
	
	
		| 
ESC-241/261
		 | 
		
A Holistic Approach to Embedded Systems Development, part 1 & 2
		 | 
		
Thomas Bullinger
		 | 
	
	
		| 
ESC-242
		 | 
		
Understanding Compilers and Optimizations for Embedded Systems
		 | 
		
Robert Oshana
		 | 
	
	
		| 
ESC-243
		 | 
		
Representing and Manipulating Hardware in Standard C and C++
		 | 
		
Dan Saks
		 | 
	
	
		| 
ESC-244/264
		 | 
		
Embedded Software Inspection Overview, part 1 & 2
		 | 
		
Michael Trader
		 | 
	
	
		| 
ESC-245
		 | 
		
Build vs. Buy: Custom, COTS, and Caveats
		 | 
		
Kim Fowler
		 | 
	
	
		| 
ESC-246/266
		 | 
		
Introduction to Verilog, part 1 & 2
		 | 
		
Bob Zeidman
		 | 
	
	
		| 
ESC-247/267
		 | 
		
High Assurance Security/Safety for Deeply Embedded, Real-time Systems, part 1 & 2
		 | 
		
Bill Beckwith
		 | 
	
	
		| 
ESC-248/268
		 | 
		
Mechatronic System Engineering, part 1 & 2
		 | 
		
Joe Lemieux
		 | 
	
	
		| 
ESC-249
		 | 
		
Effective Low Power Management Systems in Battery Powered Environments
		 | 
		
Bonnie Baker
		 | 
	
	
		| 
ESC-250
		 | 
		
Comparing Media Codecs for Video Content
		 | 
		
Jeremiah Golston
		 | 
	
	
		| 
ESC-262
		 | 
		
Temperature Measurement Circuits for Embedded Applications
		 | 
		
Jim Lepkowski
		 | 
	
	
		| 
ESC-263
		 | 
		
Writing Interrupt Service Routines in C++
		 | 
		
Dan Saks
		 | 
	
	
		| 
ESC-265
		 | 
		
Short-range Wireless Data Communications
		 | 
		
Charles Knutson
		 | 
	
	
		| 
ESC-269
		 | 
		
How to Implement a Remote GDB Debugging Agent
		 | 
		
Bill Gatliff
		 | 
	
	
		| 
ESC-270
		 | 
		
Smart Processor Picks for Consumer Audio/Video Applications
		 | 
		
Jeff Bier
		 | 
	
	
		| 
ESC-300
		 | 
		
Software Development for Transportation Systems
		 | 
		
Colin Walls
		 | 
	
	
		| 
ESC-301/321
		 | 
		
Modeling Behavior with UML: Interactions and Statecharts, part 1 & 2
		 | 
		
Bruce Douglass
		 | 
	
	
		| 
ESC-302/322
		 | 
		
Embedded Programming 101
		 | 
		
Michael Barr
		 | 
	
	
		| 
ESC-303/323
		 | 
		
C and C++ Gotchas, part 1 & 2
		 | 
		
Dan Saks
		 | 
	
	
		| 
ESC-304
		 | 
		
Fantastic Failures
		 | 
		
Kim Fowler
		 | 
	
	
		| 
ESC-305
		 | 
		
Understanding and Using the 802.11 Standards 
		 | 
		
Larry Mittag
		 | 
	
	
		| 
ESC-306/326
		 | 
		
Introduction to CPLD and FPGA Design, part 1 & 2
		 | 
		
Bob Zeidman
		 | 
	
	
		| 
ESC-307/327
		 | 
		
Hardware and Software Verification for ARM SoC Design, part 1 & 2
		 | 
		
Jason Andrews
		 | 
	
	
		| 
ESC-308/328
		 | 
		
Principles of High Availability Embedded Systems Design, part 1 & 2
		 | 
		
David Kalinsky
		 | 
	
	
		| 
ESC-309
		 | 
		
Verification and Validation for Embedded Software
		 | 
		
Charles Knutson
		 | 
	
	
		| 
ESC-320
		 | 
		
An Introduction to OSEK/VDX
		 | 
		
Colin Walls
		 | 
	
	
		| 
ESC-324
		 | 
		
Microprocessors vs. Digital Signal Processors
		 | 
		
Jeff Bier
		 | 
	
	
		| 
ESC-325
		 | 
		
Wireless Protocol Stacks
		 | 
		
Larry Mittag
		 | 
	
	
	
		| 
ESC-329
		 | 
		
Statistical Testing Techniques for Embedded Systems
		 | 
		
Robert Oshana
		 | 
	
	
		| 
ESC-330
		 | 
		
Digital Video Recording and Video-on-Demand Servers
		 | 
		
Mike Ficco
		 | 
	
	
		| 
ESC-340/360
		 | 
		
Measuring Execution Time and Real-time Performance, part 1 & 2
		 | 
		
Dave Stewart
		 | 
	
	
		| 
ESC-341/361
		 | 
		
Designing System Services, part 1 & 2
		 | 
		
Steven Stolper
		 | 
	
	
		| 
ESC-342
		 | 
		
Is Linux 2.6 Ready for Embedded Systems?
		 | 
		
Bill Gatliff
		 | 
	
	
		| 
ESC-343/363
		 | 
		
Quantum Programming for Embedded Systems, part 1 & 2
		 | 
		
Miro Samek
		 | 
	
	
		| 
ESC-344/364
		 | 
		
Java Technology Overview, part 1 & 2
		 | 
		
Michael Barr
		 | 
	
	
		| 
ESC-345/365
		 | 
		
Internet Security: The Basics, part 1 & 2
		 | 
		
Steve Kapp
		 | 
	
	
		| 
ESC-346
		 | 
		
Designing Reliable Code using MISRA C
		 | 
		
Greg Davis
		 | 
	
	
		| 
ESC-347/367
		 | 
		
Writing an Accellera SCI-MI Compatible Synthesizable Transactor, part 1 & 2
		 | 
		
Per Bojsen
		 | 
	
	
		| 
ESC-348
		 | 
		
Introduction to an FPGA Tool-chain 
		 | 
		
Michael Trader
		 | 
	
	
		| 
ESC-349
		 | 
		
Embedded Wireless Networks: A Workshop
		 | 
		
Cliff Bowman
		 | 
	
	
		| 
ESC-350
		 | 
		
Embedded Streaming Media Servers
		 | 
		
Mike Ficco
		 | 
	
	
		| 
ESC-362
		 | 
		
Implementing Downloadable Firmware with Flash Memory
		 | 
		
Bill Gatliff
		 | 
	
	
		| 
ESC-366
		 | 
		
Noise and Shielding
		 | 
		
Kim Fowler
		 | 
	
	
		| 
ESC-368
		 | 
		
Serial Protocols in Industrial and Automotive Applications
		 | 
		
Neelima Chaurasia
		 | 
	
	
		| 
ESC-369
		 | 
		
Principles of Power Management
		 | 
		
Sheridan Ethier
		 | 
	
	
		| 
ESC-370
		 | 
		
Improving Software Quality Using Lint
		 | 
		
Michael Trader
		 | 
	
	
		| 
ESC-400/420
		 | 
		
Real-time Architectures, part 1 & 2
		 | 
		
Doug Locke
		 | 
	
	
		| 
ESC-401/421
		 | 
		
Executable UML for Simulation and Real-time Systems, part 1 & 2
		 | 
		
Carlie Gehle
		 | 
	
	
		| 
ESC-402
		 | 
		
Using Eclipse CDT for C/C++ Development
		 | 
		
Sebastien Marineau-Mes
		 | 
	
	
		| 
ESC-403
		 | 
		
Linux 101
		 | 
		
Doug Abbott
		 | 
	
	
		| 
ESC-404/424
		 | 
		
TCP/IP for Embedded Engineers, part 1 & 2
		 | 
		
Thomas Herbert
		 | 
	
	
		| 
ESC-405
		 | 
		
Ten Lies about Microprocessors
		 | 
		
Jim Turley
		 | 
	
	
		| 
ESC-406/426
		 | 
		
Understanding Universal Design Methodology, part 1 & 2
		 | 
		
Bob Zeidman
		 | 
	
	
		| 
ESC-407
		 | 
		
FPGA Softcores: the Microcontrollers of Tomorrow?
		 | 
		
Jerry Tucker
		 | 
	
	
		| 
ESC-408/428
		 | 
		
Fundamentals of Digital Imaging, part 1 & 2
		 | 
		
John Canosa
		 | 
	
	
		| 
ESC-409
		 | 
		
MCDC Test Vectors from Matlab Models - Automatically
		 | 
		
Scott Ranville
		 | 
	
	
		| 
ESC-410
		 | 
		
Windows CE O/S Kernel 
		 | 
		
John Eldridge
		 | 
	
	
		| 
ESC-422
		 | 
		
Introduction to the PowerPC Programming Model
		 | 
		
Paul Gramann
		 | 
	
	
		| 
ESC-423
		 | 
		
Introduction to Posix Threads
		 | 
		
Doug Abbott
		 | 
	
	
		| 
ESC-425
		 | 
		
802.11 Security
		 | 
		
Larry Mittag
		 | 
	
	
		| 
ESC-427
		 | 
		
Designing Portable Software
		 | 
		
Steven Stolper
		 | 
	
	
		| 
ESC-429
		 | 
		
Mission-critical and Safety-critical Development
		 | 
		
Kim Fowler
		 | 
	
	
		| 
ESC-430
		 | 
		
Debugging Techniques for Fielded Embedded Systems
		 | 
		
David Kleidermacher
		 | 
	
	
		| 
ESC-440/460
		 | 
		
An Introduction to the eCos Configurable Operating System, part 1 & 2
		 | 
		
Bruce Douglass
		 | 
	
	
		| 
ESC-441
		 | 
		
Architecting Systems with Patterns
		 | 
		
Bruce Douglass
		 | 
	
	
		| 
ESC-442
		 | 
		
Migrating from Assembly to C for 8-bit mControllers
		 | 
		
Taylor Cox
		 | 
	
	
		| 
ESC-443
		 | 
		
Device Drivers and System-level Programming in Java
		 | 
		
Chris McKillop
		 | 
	
	
		| 
ESC-444
		 | 
		
General Purpose Ethernet Messaging Application
		 | 
		
Jesse Kempa
		 | 
	
	
		| 
ESC-445
		 | 
		
Controller Area Network in Embedded Machine Control
		 | 
		
Chris Keydel & William Seitz
		 | 
	
	
		| 
ESC-446
		 | 
		
Practical Secure Hardware Design for Embedded Systems
		 | 
		
Joe Grand
		 | 
	
	
		| 
ESC-447
		 | 
		
Data Transports in Embedded Systems
		 | 
		
Charlie Grandgent
		 | 
	
	
		| 
ESC-448
		 | 
		
A Skills List for Developing Embedded Software
		 | 
		
Dale Word
		 | 
	
	
		| 
ESC-449
		 | 
		
Embedded Real-time Techniques for Calculating CPU Utilization
		 | 
		
Michael Trader
		 | 
	
	
		| 
ESC-450
		 | 
		
IP Version 6 and the Dual Stack
		 | 
		
Christian Legare
		 | 
	
	
		| 
ESC-461
		 | 
		
Model-based Design within Formalized Software Processes
		 | 
		
Tom Erkkinen
		 | 
	
	
		| 
ESC-462
		 | 
		
Extreme Programming and Embedded Software Development
		 | 
		
James Grenning
		 | 
	
	
		| 
ESC-463
		 | 
		
The Embedded C Extension to C
		 | 
		
Marcel Beemster
		 | 
	
	
		| 
ESC-464
		 | 
		
Embedding the Secure Sockets Layer
		 | 
		
Timothy Stapko
		 | 
	
	
		| 
ESC-465
		 | 
		
Developing SNMP Agent on 8-bit System
		 | 
		
Nilesh Rajbharti
		 | 
	
	
		| 
ESC-466
		 | 
		
ASIC Design Practices from a Firmware Perspective
		 | 
		
Gary Stringham
		 | 
	
	
		| 
ESC-467
		 | 
		
Undersampling: Avoiding Misconceptions about the Nyquist Criterion
		 | 
		
Teodor Neagoe
		 | 
	
	
		| 
ESC-468
		 | 
		
The Ten Secrets of Debugging Embedded Systems
		 | 
		
Stan Schneider
		 | 
	
	
		| 
ESC-469
		 | 
		
Handling the Software Reliability Burden in Embedded Applications
		 | 
		
Abdul Aleaf
		 | 
	
	
		| 
ESC-470
		 | 
		
ARM 9 Instruction Set Architecture with Performance Prospective
		 | 
		
Joe-Ming Cheng
		 |